package com.example.wechat.login.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.wechat.login.entity.Feedback;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

/**
 * 问题反馈Mapper接口
 */
@Mapper
public interface FeedbackMapper extends BaseMapper<Feedback> {

    /**
     * 根据用户unionId分页查询反馈列表
     *
     * @param page 分页参数
     * @param unionId 用户unionId
     * @return 分页结果
     */
    @Select("SELECT * FROM feedback WHERE union_id = #{unionId} ORDER BY create_time DESC")
    Page<Feedback> selectPageByUnionId(Page<Feedback> page, @Param("unionId") String unionId);

    /**
     * 根据反馈类型分页查询反馈列表
     *
     * @param page 分页参数
     * @param feedbackType 反馈类型
     * @return 分页结果
     */
    @Select("SELECT * FROM feedback WHERE feedback_type = #{feedbackType} ORDER BY create_time DESC")
    Page<Feedback> selectPageByFeedbackType(Page<Feedback> page, @Param("feedbackType") String feedbackType);

    /**
     * 根据状态分页查询反馈列表
     *
     * @param page 分页参数
     * @param status 状态
     * @return 分页结果
     */
    @Select("SELECT * FROM feedback WHERE status = #{status} ORDER BY create_time DESC")
    Page<Feedback> selectPageByStatus(Page<Feedback> page, @Param("status") Integer status);
}
